1
메모리 관리의 딜레마
AI034Lesson 4
00:00

수년간 시스템 프로그래밍은 이분법적 갈등에 빠져 있었다: 바로 통제의 이분법. C/C++ 같은 언어에서는 완전한 통제권을 가질 수 있지만, 수동적인 관리 책임도 지게 된다. 하나의 잊힌 free() 는 치명적인 메모리 누수로 이어진다. 반대로, 자바나 고와 같은 언어들은 가비지 컬렉션(GC)를 통해 안정성을 제공하지만, 예측할 수 없는 '세상 멈춤' 일시 정지로 인해 성능을 희생한다. 이는 고빈도 거래나 실시간 시스템을 파괴할 수 있다.

세 번째 길: 소유권

러스트는 메모리 관리를 런타임 에서 컴파일러으로 옮김으로써 이 딜레마를 해결한다. 엄격한 소유권 규칙집합을 통해 컴파일러는 모든 바이트의 생명주기를 추적한다. 당신이 $ cargo run을 실행하면, 빌림 검사기 메모리가 유효하고 유일하며 안전한지를 확인한다. 백그라운드 수집기나 수동 해제 없이도 말이다.

수동 (C/C++)고위험 / 고통제GC (자바/고)고안정성 / 저통제러스트컴파일러의 다리cargo run ✓

터미널 검증

다음과 같이 사용함으로써 cargo run메모리 안정성은 컴파일 타임 보장이 된다. 만약 규칙을 위반하면 프로그램은 단순히 빌드되지 않으며, 생산 환경에 도달하기 전에 충돌을 방지할 수 있다.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>